/*
 * Weather
 *
 * Copyright 2008-2009 Centro Andaluz de Innovación y Tecnologías de la
 * Información y las Comunicaciones (CITIC). All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
 *
 * Please contact CITIC - Edificio CITIC, C/ Marie Curie, 6 Parque
 * Tecnológico de Andalucía 29590 - Campanillas, Málaga, Spain
 * or visit www.citic.es, if you need additional information or
 * have any questions.
 */

package es.citic.puedes.weatherservice.model;

public class Weather {
	private String date;
	private Temperature temp;
	private Wind wind;
	private String iconURL;
	private String description;
	private Double precipitation;

	/**
	 * Empty Constructor
	 */
	public Weather() {
		this.date = null;
		this.temp = null;
		this.wind = null;
		this.iconURL = null;
		this.description = null;
		this.precipitation = null;
	}

	/**
	 * Constructor with parameters
	 * 
	 * @param temp
	 *            Temperature object
	 * @param wind
	 *            Wind object
	 * @param iconURL
	 *            URL icon WWO
	 * @param desc
	 *            Weather description object
	 * @param precip
	 *            Precipitation
	 * @param date
	 *            Date and hour
	 */
	public Weather(Temperature temp, Wind wind, String iconURL, String desc,
			Double precip, String date) {
		this.date = date;
		this.temp = temp;
		this.wind = wind;
		this.iconURL = iconURL;
		this.description = desc;
		this.precipitation = precip;
	}

	/**
	 * Get temperature
	 * 
	 * @return temperature Temperature object
	 */
	public Temperature getTemperature() {
		return this.temp;
	}

	/**
	 * Get wind
	 * 
	 * @return wind Wind object
	 */
	public Wind getWind() {
		return this.wind;
	}

	/**
	 * Get URL icon WWO
	 * 
	 * @return iconURL URL icon WWO
	 */
	public String geticonURL() {
		return this.iconURL;
	}

	/**
	 * Get description
	 * 
	 * @return description DEscription object
	 */
	public String getDescription() {
		return this.description;
	}

	/**
	 * Get precipitation
	 * 
	 * @return precipitation Precipitation
	 */
	public Double getPrecipitation() {
		return this.precipitation;
	}

	/**
	 * Get date and hour
	 * 
	 * @return date Date and hour
	 */
	public String getDate() {
		return this.date;
	}

	/**
	 * Set date and hour
	 * 
	 * @param date
	 *            Date and hour
	 */
	public void setDate(String date) {
		this.date = date;
	}

	/**
	 * Set temperature
	 * 
	 * @param temperature
	 *            Temperature object
	 */
	public void setTemperature(Temperature temperature) {
		this.temp = temperature;
	}

	/**
	 * Set wind
	 * 
	 * @param wind
	 *            Wind object
	 */
	public void setWind(Wind wind) {
		this.wind = wind;
	}

	/**
	 * Set URL icon WWO
	 * 
	 * @param iconURL
	 *            URL icon WWO
	 */
	public void setIconURL(String iconURL) {
		this.iconURL = iconURL;
	}

	/**
	 * set description
	 * 
	 * @param description
	 *            Description object
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * Set precipitation
	 * 
	 * @param precipitation
	 *            Precipitation
	 */
	public void setPrecipitation(Double precipitation) {
		this.precipitation = precipitation;
	}

	public String toString() {
		return "Date:" + this.date.toString() + ", Temperture:"
				+ this.temp.toString() + ", Wind: " + this.wind.toString()
				+ ", IconURL:" + this.iconURL + ", Description:"
				+ this.description + ", Precipitation:"
				+ this.precipitation.toString();
	}
}
